package command_pattern.ex2;

/**
 * 客户端类，用于执行命令模式的示例。
 * @author 申书航
 * @version 1.0
 */
public class Client {

    /**
     * 主方法，程序的入口。
     * 在此方法中创建配置设置和命令操作对象，并执行添加、修改、删除命令。
     */
    public static void main(String[] args) {
        ConfigSetting configSetting = new ConfigSetting();
        ConfigOperator configOperator = new ConfigOperator();
        configSetting.setCurrCommand(new AddCommand("添加命令", configOperator));
        configSetting.call("张三");
        configSetting.setCurrCommand(new AddCommand("添加命令", configOperator));
        configSetting.call("李四");
        configSetting.setCurrCommand(new ModifyCommand("修改命令", configOperator));
        configSetting.call("王五");
        configSetting.setCurrCommand(new DeleteCommand("删除命令", configOperator));
        configSetting.call("李四");
        System.out.println("保存日志：");
        configSetting.save();
        System.out.println("加载日志：");
        configSetting.recover();
    }
}
